Tyler Michaud's profileJosh Bonto's profile

The Crystal Tower

The Crystal Tower is a 2D puzzle-platformer taking place in a magic tower where no laws of reality apply, only its own. Use its magic to manipulate the environment to climb up and meet your end of a deal to have your magical infection be cured.
The game was created by a team of three people. Josh Bonto did the programming and level design for the game. Tyler Michaud worked on art and sound effects. Later in Development, Dan Murphy created the original music.
Early Development: The Road to the First Playable Prototype (May 31, 2017 to August 27, 2017)
With our team of two, we decided on creating a 2D puzzle-platformer in Unity. We decided to use a theme based around exploring ruins. While there were several ideas for the main mechanic, we decided on having the player control platforms in order to traverse and solve said puzzles.
The game originally started out as Temple of the Hummingbird. It was set in the modern era inside of an Aztec temple. The planet was in danger of 'shooting stars' destroying the world. The protagonist was to be a female archaeologist who was heading it to the temple to find a way to save the world.

This game was loosely based of the Aztec legend of Huitzilopochtli. We used hummingbird iconography to build the theme.​​​​​​​
Josh: My first job was to create and implement the basic mechanics.  This started with simple, basic 2D platformer movement. When that was done I began working on the puzzle mechanics such as the controllable platforms, doors that you could enter, levers that you could pull, "keyblocks" that you could push, and platforms that you could enable or disable the colliders on.  By the end of this phase, I had a First Playable Prototype put together, with the several tutorial levels and one puzzle level. A handful of mechanics were only visible in the test level, but the ones visible made a functional First Playable Prototype.
Tyler: After we had come up with the mechanics and the theme, I began to create art for the game. I started out with simple wall textures and objects. I also began work on animations for the main character. Using concept art and references, I finished several animations for the character. One of my last tasks before classes started was to create an introduction to the game. 
old character running animation
old wall texture
early cutscene from before the theme change
However as we continued the project, a feeling that we didn't do enough research cropped up. These feeling were shared by our professor. We then decided to change the theme.
Semester 1 Milestone 1: Changing the Theme (August 28, 2017 to September 20, 2017)
We changed to a medieval fantasy theme involving magic crystals. It would take place in a tower corrupted by crystals. The main character has a crystal infection in his hand that would allow him to control the tower.
Concept art from the theme change
Tyler: For this first milestone, I began to replace some of the older art assets with improved assets to fit the theme. Using some images I collected for some buildings close to where I was, I created textures for the walls, floor, and background. I also began to replace the old platforms and the block.
early floor texture
I replaced the old bamboo spikes from the old build to a new crystal spike image. I began work on a new version of the door. After some thought, I created some "crystal cracks" to help to player notice how far the platforms could move.
Finally, I redid the main menu screen to fit with the new game theme.
Josh: When we had decided we would use a new theme and story, Tyler pitched the concept and I wrote a new story.  I ran it by him and several other people, and we had a story we liked.  Additionally after a meeting where we discussed any additional mechanics we wanted to add into the game, I got work on coding the new mechanics.

During initial play-testing, I noticed the only level I was entirely satisfied with was the very first level.  I feel it did a good job at teaching the player the basic mechanics, in a safe environment.  I set it up so the player needed to move the platforms in simple ways to progress, so that they would learn how to move them and how to solve the games puzzles.  The second tutorial level which introduced the keyblocks showed how you use platforms to move blocks, and how to use blocks to unlock doors well but the level didn't flow very well.  It was easy to get stuck, so I decided later I would change it.  The first puzzle being the very first in the game showed.  It wasn't particularly fun, and more awkward to solve than it needed to be.
Semester 1 Milestone 2: Player animations, mechanics, and level design (September 21, 2017 to October 11, 2017)
Tyler: Here, I began with improving some of the art based off of feedback. I changed the crystal spikes from a purple to a red color to inform the player that they are dangerous. I also added a black scorch mark to show the player were the block will spawn and a blue glow sprite to show were the block will disappear.
I then started work on the assets for the ghost puzzles. These two assets included the Ghost Catcher and the Ghost Spawner.
However, my biggest assignment for this milestone was reworking the player animations. I created the roughs of the animations on paper using a light box. Then, I would digitize the images. On the computer, I would clean the lines and color the images in. Using this process, I was able to replace the Idle, Falling, Control and Death animations. With those finished, I was ready for the next milestone.
early Player death animation
Josh: During this semester my two priorities were to finish coding in the new mechanics, and work on the games levels.  By the end of the milestone, all core mechanics that would be in the final game were coded in and tested, but not all would be implemented in to the game proper.  Below is the tutorial level I mentioned earlier that I had problems, the original(with some original art assets replaced) is on the left and the final version is on the right.  The goal would be to move the block to the block on the right to the door on the left with the moving platforms, because they could move them horizontally while the player could not pick them up.  Removing a platform and the middle ground made the level much more fluent and quicker to go through, while accomplishing the same objective.
Another important change was to how the block reset to it's origin.  Originally the block reset to it's origin if it's Y coordinate fell below a threshold specific to the block, and this was to make it so it couldn't get stuck in a spot the player couldn't move it out of.  The block would turn grey if it got close to the threshold and reset if it hit it.  The blue sparkles visible on the right were added to show where the threshold was to the player(technically they were below the threshold, but if the block could touch them it was low enough to reset) but the reset condition was changed to the block touching the sparkles.  This made levels easier to design more efficiently.  

I decided to create another tutorial level which would be between the original two tutorial levels.  This level would have the player start near spikes to show that they were a hazard to avoid, and if the player hit them they would lose little time.  It also featured blocks you would jump from later in a way that was meant to trick the player into pushing them to the bottom, illustrating how block resetting mechanics worked.  When the blue sparkles were added, the player was set to start in them to show they didn't affect the player.  Aside from those, I created more levels featuring new core mechanics, such as levers that open doors, and levels with blocks whose colliders you can turn on and off with the levers.  I would also begin asking people to play-test the levels I had, and recorded my own thoughts and feedback.  I would than adjust the levels based on the feedback, which I would continue to do for the rest of the semester.  A small but important addition is that Tyler created glowing cracks which I would add into the level, which would be used to show each moving platform's range.
Semester 1 Milestone 3: Props and new level design philosophies, as well as additions that show the beginning of a complete game(October 12, 2017 to November 8, 2017)
Tyler: My first job was to finally replace the running animation for the character. Since running animations are the hardest to get right, I did over the coarse of two weeks. I was able to finish the first half of sprites during this first week with the rest finished the following week.
early Player running animation
I also began work on creating the props for the game world. I created sprites of vines, crystals, skulls, and a window in order to add details to the game world. 
crystal prop 2
I made yet another update to the crystal spikes. This was to add a "glow" to them to further enforce the player that these were dangerous. I also worked on fixing the animation for the door in order to utilize the assets created for it.
For the final part of the milestone, I started the process of creating UI elements such as menu buttons.
Josh:  The absolute biggest change this semester was the introduction of levels that less of puzzles and more of plat-former levels.  Initially I was hesitant to create non-puzzle levels but after talking about it with my professors and peers I decided to add in plat-former, in a way that fit in with the game play and atmosphere we had set up.  I made the plat-former levels in a way so that instead of the player relying on twitch reflexes, they had to move patiently and plan out their movements.  The player would use the games core mechanics to carefully move through the level avoiding hazards and figuring out how to reach their destination.  

Many of these levels would have the player descend and move to the left, which breaks away from the usual directions and movement in plat-former levels.  Going against player expectations and what their used built on the surreal nature we wanted the game to having, and descending levels contrasting the ascending levels would give the feel of moving through the tower.  To make larger levels easier to play, I tinted the cracks meant to show a moving platform's range and began adding them to show the player where objectives such as doors were.

During this milestone I added puzzles featuring the ghost which mimicked the players movement, which was the final core mechanic to be added.  Many other small additions were added as well, such as controller support and a filler song.  Playing the game with a keyboard did suffice, but in a game like this using a controller is much more comfortable.  The filler song wasn't particularly good, but the game needed music.
game with old textures and platforms (October 25)
early game with older wall textures and crystals on the bottom of the platforms (November 8)
Semester 1 Milestone 4: Cut Scenes and additional levels (October 13, 2017 to December 13, 2018)
Tyler: I had one animation to finish before the end of the Fourth milestone. The sprite for the Ghost was using an old Idle pose. The final design has the ghost floating in the air with it's legs evaporating into nothing.
Several pieces of art were reworked. These include creating a block without a crystal in it. This would be used solely for platforming. Another animation was added for the block was the disintegration animation.Now if the block touches the blueish glow, the block will vanish. This would help the player understand that the glow can be used to reset blocks to there spawn.
After feedback, the platforms were changed to not have the crystals on the bottom of the platforms. Players seemed to be wary of the platforms because they thought they would be killed if they touche the crystals.
I began work on the Introduction to the game. It would be a slide show showing what happened to the Thief to end up at the tower.
final image of the cutscene. It shows the thief reaching the tower
Josh:  During this semester I would continue building and updating levels.  My goals during this part were to add new puzzles that used the core mechanics, and add new platforming levels.  This is one of the levels developed where a spike covered platform would move through a level, and the player had to figure out to use this, and how to do so to move a ghost into a position where it can be moved to it's receiver in the top right corner.
Winter Break: Tweaking Art and Building Levels (December 14, 2017 to January 16, 2018)
Tyler: The first thing I worked on is reworking the textures for the walls and background. Play testers noted how the textures didn't match the aesthetic of the player or the other objects in the levels. I worked on the texture files and created a more aesthetically consistent look for the textures.
final Wall texture
My next task was reworking the player animations. Testers noted how these looked "prototype-ish" and looked out off place. It took me a bit of time to rework the animations. The original files proved to be difficult to rework and improve. I had to re-export them and take them in to Photoshop. There I was able to add textures and shadows to add depth to the animations.
The final task I worked on over the winter break is creating thumbnails for the ending cut scenes. I worked for ending A to ending D and created possible views for each scene in order to have the player follow the story. After finishing the thumbnails, I uploaded the images to the Google Drive in order to get feedback for my partner in order to figure out which layout looks best for each scene.
thumbnails for Ending A (bad ending)
Josh: During winter break I was going to continue making and editing levels.  I started making levels that were referred to as the TBD levels, because prior levels naming was based off tutorials and core mechanics they were based on.  The new TBD levels were intended to be the bulk of the game, and placed throughout the game as the narrative and difficulty curve fit. I also began giving Tyler feedback on the thumbnails he made as he presented them.
Semester 2 Milestones 1 and 2: ... (January 17, 2018 to February 28, 2018)
Tyler: As this was the second to last milestone until game development ends, I began to pick up the pace in the creation of art assets.
I created another prop for the game. This was a bird trapped in a crystal. I used an image of a pigeon skeleton as reference similar how I used images of human skeletons for the other props. This was not only to add depth to the levels, but also to show the player how dangerous the crystals are.
crystal bird prop
I finished up the cutscenes for endings A and D.
We began our social media pages for The Crystal Tower. We created a Facebook and Twitter page. We originally planned on having each of us post on different days. However, this caused us to miss posts. So we decided I will handle the social media from then on with Josh posting only once in a while when a major event in development happened.
On February 6th, Josh and I went to the Winter Play game expo to showcase our game.
After the Playcrafting event, we published our website. Using Wix.com, we set up a temporary site with basic assets. We then began to place re-purposed assets in order to personalize the page and connect the site to our game.
Josh: The most important thing about this milestone was our advertising.  I had created a demo based on the early levels and what I felt gave a good impression of what the game was like.  At the Playcrafting event me and Tyler had showed off our game and handed out business cards, and had a mailing list ready for people to sign.  As well as this I continued working on levels for the game, and editing them based on player feedback.  I also added a continue function to the game, where you could start the game from the last level loaded, so if the player didn't have time to continue playing they could easily resume from where they left off.
character avoiding spiked platforms
Semester 2 Milestone 3: ... (February 29, 2018 to April 4, 2018)
Tyler: I worked on creating the trailer for our game. Josh collected video footage while I editied the files in Adobe Premiere Pro. I kept the time limit down to 30 seconds so the trailer wouldn't last too long. The Trailer was released on YouTube on April 8th.
I also began to update our Itch.io page where our game was going to be sold. It was just using default settings. I went through and reworked the entire page. I added modified assets and changed text to make the web page look more aesthetically pleasing. Then, I went on to add the trailer along with several screenshots.
updated Itch.io page
Josh: It was early in this milestone I decided that no more levels should be added into the game, because any new ones wouldn't have enough time to get the play testing they needed.  From than it was my job to continue adjusting and updating levels based on feedback, and update the demos available.  Additionally I added in a loading screen for the game to load between the current and the next level.  Prior to the implementation of the loading screen the game would freeze for a moment when you entered a door because the next level had a lot to load, but the loading screen had very little so it fully loaded almost instantly.  The game would still take a few seconds to load the next level, but lingering on the loading screen looked significantly better than lingering in a level in front of a door.  The last milestone I had begun asking around to see if there were any musicians who could help, but I had little luck.  When talking to people in our school's music tech department, I met Danny Murphy who would begin working on our games soundtrack.
Semester 2 Milestone 4: Releasing the Game (April 5, 2018 to May 2, 2018)
Tyler: The final touches were being added to the game for release. I was finishing up the art for the game.
I also began to create new sound effects for the game. We were still using the free sounds we found early on. I used the recordings I created and began to edit them down in Audacity.
The journal entrances were in need of improvement. Since I had finished most of my polishing, I asked Josh if I could help out with the journal text in order to better tell the story of what was happening to the Thief as he explores the tower.
Josh: By this point the greater bulk of the game had been finished, but there was still a large amount to do so we had still gone into crunch time.  Early on me and Tyler put together a checklist of tasks that needed to be done to finish the game, and divided into two categories: tasks that needed to get done, and tasks that we would do if we had time.  The first task I had that needed to be done was re-organize the levels so that they created a proper difficulty curve.  I went through the levels setting the next level to be loaded so that the tutorials and levels that introduced mechanics would had some puzzles and other levels between them so it wasn't introducing one mechanic after the other without something between them or levels utilizing the mechanic, and made sure a large portion of the game was after the tutorials were concluded.  I also made sure the descending levels followed the ascending levels to give the appearance of going up and down a tower.

Additionally I implemented the multiple endings system, where the game would go to the appropriate ending based on how many deaths the player had, even if they exited and continued from where they left off.  I also implemented the sounds as Tyler got them to me, and put in the music Dan had made. I also took the time to consult other people on the games journal entries and properly implement them.  I set it up so an icon would appear in the corner of the screen and a sound effect would play, alerting the player that a new journal entry was available to be read.  I set the games music to be reduced to a fifth of it's volume so it didn't drown out the journal sound effect, than it would go to it's normal volume when the sound effect had finished playing.  At first it went to a fifth of it's volume to max which I found slightly jarring so I set it to gradually increase to full.  It took about 4 seconds for the volume to return to normal.

What took some time was setting up the menus.  After Tyler got the button art in, I divided the menu into 4 sections:Extras, Credits, Main Menu, and Options.  From the main menu you could access start a new game or continue where you last left from, from options you could adjust your view and adjust the controls and sound, and from extras you could view the cut scenes.  In the options menu you could choose between one of three buttons for each of the commands.  I would have set it to be a normal button select where you can press a button to set it to the new one, but at that point there wasn't enough time.
Post Mortem
We set our scope at a reasonable level, that we believe we met. While we were not able to implement everything we wanted, we were able to add all the main features and the most important levels and events. For example, we originally have four endings the player could get. We were only able to implement two of them. However, we focused on the two most important endings for our story.

During development, we greatly improved and refined skills in game design and development, and working together with other people in a team.  As well as this we improved our own individual skills such as art, animation, programming and level design. We got to gain experience advertising which will have us more ready to work with people whose main job will be to do so.  While we are happy with the greater of the majority of the game we will admit there are parts we are unsatisfied with, such as not finishing the art for the other two endings and some levels having significant room for improvement, one even being described in the level notes as “almost too awkward to keep within the game”.

Other than a few small updates that are in the works, our work with The Crystal Tower is over. We plan on continuing marketing to see if more people with try out our game. After that, we will take the lessons we learned from The Crystal Tower and apply them to our future endeavors.
The Crystal Tower
Published:

The Crystal Tower

Published:

Creative Fields